#include "processBar.h"
#include <string.h>
#include <unistd.h>

//const char* lable = "|/-\\";

//void processbar(int speed)
//{
//   char bar[NUM];
//  memset(bar,'\0',sizeof(bar));
//  int len = strlen(lable);
// int cnt = 0;
// while(cnt <= TOP)
// {
//    printf("[%-100s][%d%%][%c]\r",bar,cnt,lable[cnt%len]);//没有、n就不会立即刷新，因为显示器是行刷新
//   fflush(stdout);
//   bar[cnt++] = STYLE;
//   if(cnt < 100)
//       bar[cnt] = RIGHT;
//   usleep(speed);//10秒左右程序跑完
// }
// printf("\n");
//}
//
//版本二 进度条被调用的场景
const char* lable = "|/-\\";
char bar[NUM];

#define GREEN "\033[32;40m"
#define NONE "\033[0m"

void processbar(int rate)
{
    if(rate < 0 || rate > 100)
        return;
    int len = strlen(lable);
    printf(GREEN"[%-100s]"NONE"[%d%%][%c]\r",bar,rate,lable[rate%len]);//没有、n就不会立即刷新，因为显示器是行刷新
    fflush(stdout);
    bar[rate++] = STYLE;
    if(rate < 100)
        bar[rate] = RIGHT;

}


void initbar()
{
    memset(bar,'\0',sizeof(bar));
}
